let maybe = MayBe.of([5, 6, 11])
let ex1 = () => {
  return maybe.map((vals) => {
    let sum = 0
    _.map(num => {
      sum = _.add(sum)(num)
    }, vals)
    return sum
  })
}

let xs = Container.of(['do', 'ray', 'me'])
let ex2 = () => {
  return xs.map(val => {
    return _.first(val)
  })
}

let safeProp = _.curry((x, o) => {
  return MayBe.of(o[x])
})
let user = { name: 'Albert' }
let ex3 = () => {
  return safeProp('name')(user).map((x) => {
    return _.first(x)
  })
}

let ex4 = (n) => {
  let maybe = MayBe.of(n)
  return !maybe.isNothing() && maybe.map(x => parseInt(x))
}